home *** CD-ROM | disk | FTP | other *** search
- # Tux Racer initialization script
-
- #
- # Save data directory
- #
- set tux_data_dir [pwd]
-
- #
- # Set up language strings
- #
- source "language.tcl"
-
-
- #
- # Useful subroutines
- #
- proc tux_goto_data_dir {} {
- global tux_data_dir
- cd $tux_data_dir
- }
-
- proc tux_course_init {} {
- global tux_data_dir
- source "$tux_data_dir/courses/common/courseinit.tcl"
- }
-
- proc tux_course_init_v60 {} {
- global tux_data_dir
- source "$tux_data_dir/courses/common/courseinit-v60.tcl"
- }
-
- proc loading_refresh_display {} {
- if {[objget :course loading]} {
- objcall :servers:render redraw
- after 50 loading_refresh_display
- }
- }
-
- proc begin_loading_course {} {
- global ls
- objcall :servers:render set_loading_text \
- [ gs loading ]
- loading_refresh_display
- }
-
- proc subtract_from_ai { time } {
- foreach child [objget :ai_targets children] {
- set curtime [objget $child time]
- set curtime [expr $curtime-$time]
- objset $child -time $curtime
- }
- }
-
- # Setup font size table
- set lang [tux_get_param language]
- if { $lang != "english" } {
- set font_size(huge) 35
- set font_size(big) 30
- set font_size(xxlarge) 25
- set font_size(xlarge) 20
- set font_size(vlarge) 20
- set font_size(large) 16
- set font_size(medium) 14
- set font_size(small) 12
- set font_size(vsmall) 11
- set font_size(xsmall) 11
- set font_size(tiny) 11
- } else {
- set font_size(huge) 40
- set font_size(big) 35
- set font_size(xxlarge) 30
- set font_size(xlarge) 25
- set font_size(vlarge) 22
- set font_size(large) 20
- set font_size(medium) 16
- set font_size(small) 14
- set font_size(vsmall) 13
- set font_size(xsmall) 12
- set font_size(tiny) 11
- }
-
- #
- # Load splash screen logo and font first so we can display it
- #
-
- # Mouse cursor
- tux_load_texture mouse_cursor textures/mouse_cursor.png 0
- tux_bind_texture mouse_cursor mouse_cursor
-
- # Snow Particle
- tux_load_texture snow_particle courses/common/snowparticles.png 0
- tux_bind_texture snow_particle snow_particle
-
- # Splash screen logo
- tux_load_texture splash_screen_tr textures/splash_tr.png 0
- tux_load_texture splash_screen_br textures/splash_br.png 0
- tux_load_texture splash_screen_tl textures/splash_tl.png 0
- tux_load_texture splash_screen_bl textures/splash_bl.png 0
-
- tux_bind_texture splash_screen_tr splash_screen_tr
- tux_bind_texture splash_screen_br splash_screen_br
- tux_bind_texture splash_screen_tl splash_screen_tl
- tux_bind_texture splash_screen_bl splash_screen_bl
-
- if { $lang == "english" } {
- tux_load_texture trebuchet_white fonts/trebuchet_white.png 0
- tux_load_font -name trebuchet_white -file fonts/trebuchet.tfm \
- -texture trebuchet_white
- } else {
- tux_load_texture trebuchet_white fonts/trebuchet_white_i18n.png 0
- tux_load_font -name trebuchet_white -file fonts/trebuchet_i18n.tfm \
- -texture trebuchet_white
- }
-
- tux_bind_font -binding splash_subtext -font trebuchet_white \
- -size $font_size(large)
- tux_bind_font -binding speed_mode_text -font trebuchet_white -size $font_size(tiny) -colour { 1 1 1 1 }
-
-
- #
- # Read course index
- #
- objset :modes:splash_screen -loading_text \
- [ gs loading_course_index ]
- source courses/course_idx.tcl
-
- #
- # Read characters
- #
- source characters/character_init.tcl
-
- #
- # Set Up Music
- #
-
- # Functions
- proc select_racing_music { num } {
- global racing_music_loaded
- if { ! $racing_music_loaded } {
- return;
- }
- tux_bind_music intro racing$num -1
- tux_bind_music racing racing$num -1
- tux_bind_music paused racing$num -1
- tux_bind_music game_over racing$num -1
- }
-
- objset :modes:splash_screen -loading_text \
- [ gs loading_music ]
-
- # Splash & Start screens
- if { [tux_load_music start_screen music/intro.mp3] } {
- tux_bind_music splash_screen start_screen -1
- tux_bind_music start_screen start_screen -1
- tux_bind_music loading start_screen -1
- }
-
- if { [tux_load_music credits music/credits.mp3] } {
- tux_bind_music credits_screen credits -1
- }
-
- # Music played during race
- set racing_music_loaded 0
- if { [tux_load_music racing1 music/racing.mp3] &&
- [tux_load_music racing2 music/racing2.mp3] } {
- objcall :music:racing1 incr_ref_count
- objcall :music:racing2 incr_ref_count
- set racing_music_loaded 1
- select_racing_music 2
- }
-
-
- objset :modes:splash_screen -loading_text \
- [ gs loading_fonts ]
-
-
- # Fonts
-
- if { $lang == "english" } {
- if { [tux_get_param use_hires_fonts] } {
- tux_load_texture trebuchet_yel_blk fonts/trebuchet_yel_blk_512.png 0
- } else {
- tux_load_texture trebuchet_yel_blk fonts/trebuchet_yel_blk.png 0
- }
- tux_load_font -name trebuchet_yel_blk -file fonts/trebuchet.tfm \
- -texture trebuchet_yel_blk
- } else {
- if { [tux_get_param use_hires_fonts] } {
- tux_load_texture trebuchet_yel_blk fonts/trebuchet_yel_blk_i18n_512.png 0
- } else {
- tux_load_texture trebuchet_yel_blk fonts/trebuchet_yel_blk_i18n.png 0
- }
- tux_load_font -name trebuchet_yel_blk -file fonts/trebuchet_i18n.tfm \
- -texture trebuchet_yel_blk
- }
-
- tux_bind_font -binding time_label -font trebuchet_yel_blk -size 20
- tux_bind_font -binding time_value -font trebuchet_yel_blk -size 30
- tux_bind_font -binding time_hundredths -font trebuchet_yel_blk -size 20
- tux_bind_font -binding place_label -font trebuchet_yel_blk -size 20
- tux_bind_font -binding place_value -font trebuchet_yel_blk -size 30
- tux_bind_font -binding trick_bonus -font trebuchet_yel_blk -size 30
- tux_bind_font -binding diff_time_value -font trebuchet_yel_blk -size 15
- tux_bind_font -binding herring_count -font trebuchet_yel_blk -size 30
- tux_bind_font -binding player_name -font trebuchet_yel_blk -size 25
- tux_bind_font -binding speed_digits -font trebuchet_yel_blk -size 35
- tux_bind_font -binding speed_units -font trebuchet_yel_blk -size 20
- tux_bind_font -binding version -font trebuchet_yel_blk -size $font_size(tiny) -colour { 1 1 1 1 }
- tux_bind_font -binding fps -font trebuchet_yel_blk -size $font_size(large)
-
- tux_bind_font -binding button_label -font trebuchet_white -size $font_size(xxlarge)
- tux_bind_font -binding button_label_hilit -font trebuchet_white -size $font_size(xxlarge) \
- -colour { 1.00 0.89 0.01 1.0 }
- tux_bind_font -binding button_label_disabled -font trebuchet_white -size $font_size(xxlarge) \
- -colour { 1.0 1.0 1.0 0.5 }
- tux_bind_font -binding menu_label -font trebuchet_white -size $font_size(xxlarge)
- tux_bind_font -binding listbox_item -font trebuchet_white -size $font_size(vlarge) \
- -colour { 1.00 0.89 0.01 1.0 }
- tux_bind_font -binding event_and_cup_label -font trebuchet_white -size $font_size(vlarge)
- tux_bind_font -binding race_description -font trebuchet_white -size $font_size(medium)
- tux_bind_font -binding race_requirements_label -font trebuchet_white -size $font_size(vsmall) \
- -colour { 1.00 0.95 0.01 1.0 }
- tux_bind_font -binding race_requirements -font trebuchet_white -size $font_size(vsmall)
- tux_bind_font -binding cup_status -font trebuchet_white -size $font_size(medium) \
- -colour { 1.00 0.89 0.01 1.0 }
- tux_bind_font -binding loading -font trebuchet_yel_blk -size $font_size(xxlarge)
- tux_bind_font -binding loading_subtext -font trebuchet_yel_blk -size $font_size(large)
- tux_bind_font -binding race_over -font trebuchet_yel_blk -size $font_size(huge)
- tux_bind_font -binding race_over_h2h -font trebuchet_yel_blk -size $font_size(large)
- tux_bind_font -binding cup_won -font trebuchet_yel_blk -size $font_size(xxlarge)
- tux_bind_font -binding race_stats -font trebuchet_yel_blk -size $font_size(xlarge)
- tux_bind_font -binding race_stats_label -font trebuchet_yel_blk -size $font_size(xlarge)
- tux_bind_font -binding race_stats_h2h -font trebuchet_yel_blk -size $font_size(small)
- tux_bind_font -binding race_stats_label_h2h -font trebuchet_yel_blk -size $font_size(small)
- tux_bind_font -binding race_result_msg -font trebuchet_yel_blk -size $font_size(xlarge)
- tux_bind_font -binding paused -font trebuchet_yel_blk -size $font_size(huge)
-
- tux_bind_font -binding credits_h1 -font trebuchet_yel_blk -size $font_size(xxlarge)
- tux_bind_font -binding credits_h2 -font trebuchet_yel_blk -size $font_size(large)
- tux_bind_font -binding credits_text -font trebuchet_white -size $font_size(large)
- tux_bind_font -binding credits_text_small -font trebuchet_white -size $font_size(small)
-
- tux_bind_font -binding flythru_help_text -font trebuchet_yel_blk -size $font_size(medium)
-
- tux_bind_font -binding console_text -font trebuchet_white -size $font_size(vsmall) \
- -colour { 0.30 0.10 0.10 0.5 }
-
- tux_bind_font -binding console_stext -font trebuchet_white -size $font_size(tiny) \
- -colour { 0.30 0.10 0.10 0.5 }
-
- tux_bind_font -binding configure_menu_label -font trebuchet_white -size $font_size(large)
- tux_bind_font -binding configure_listbox_item -font trebuchet_white -size $font_size(xsmall) \
- -colour { 1.00 0.89 0.01 1.0 }
-
- tux_bind_font -binding small_button_label -font trebuchet_white -size $font_size(large)
- tux_bind_font -binding small_button_label_hilit -font trebuchet_white \
- -size $font_size(large) -colour { 1.00 0.89 0.01 1.0 }
- tux_bind_font -binding small_button_label_disabled -font trebuchet_white \
- -size $font_size(large) -colour { 1.0 1.0 1.0 0.5 }
-
- tux_bind_font -binding ui_title -font trebuchet_yel_blk -size $font_size(xxlarge)
- tux_bind_font -binding high_score_title -font trebuchet_white -size $font_size(xsmall)
- tux_bind_font -binding high_score_item -font trebuchet_white -size $font_size(xsmall) \
- -colour { 1.00 0.89 0.01 1.0 }
-
- # HUD
- objset :modes:splash_screen -loading_text \
- [ gs loading_hud_textures ]
-
- tux_load_texture herring_icon textures/herringicon.png 0
- tux_bind_texture herring_icon herring_icon
-
- tux_load_texture gauge_outline textures/gaugeoutline.png 0
- tux_bind_texture gauge_outline gauge_outline
-
- tux_load_texture gauge_energy_mask textures/gaugeenergymask.png 0
- tux_bind_texture gauge_energy_mask gauge_energy_mask
-
- tux_load_texture gauge_speed_mask textures/gaugespeedmask.png 0
- tux_bind_texture gauge_speed_mask gauge_speed_mask
-
- tux_load_texture course_map_outline textures/course_map_outline.png 0
- tux_bind_texture course_map_outline course_map_outline
-
- tux_load_texture course_map_mask textures/course_map_mask.png 0
- tux_bind_texture course_map_mask course_map_mask
-
-
- # UI widgets
- objset :modes:splash_screen -loading_text \
- [ gs loading_ui_textures ]
-
- tux_load_texture listbox_arrows textures/listbox_arrows.png 0
- tux_bind_texture listbox_arrows listbox_arrows
- tux_bind_texture textarea_arrows listbox_arrows
-
- tux_load_texture mirror_button textures/mirror_button.png 0
- tux_bind_texture mirror_button mirror_button
-
- tux_load_texture conditions_button textures/conditions_button.png 0
- tux_bind_texture conditions_button conditions_button
-
- tux_load_texture snow_button textures/snow_button.png 0
- tux_bind_texture snow_button snow_button
-
- tux_load_texture wind_button textures/wind_button.png 0
- tux_bind_texture wind_button wind_button
-
- tux_load_texture slider_start textures/slider_start.png 0
- tux_bind_texture slider_start slider_start
-
- tux_load_texture slider_knob textures/slider_knob.png 0
- tux_bind_texture slider_knob slider_knob
-
- tux_load_texture slider_knob_sel textures/slider_knob_sel.png 0
- tux_bind_texture slider_knob_sel slider_knob_sel
-
- tux_load_texture slider_end textures/slider_end.png 0
- tux_bind_texture slider_end slider_end
-
- tux_load_texture slider_bar textures/slider_bar.png 0
- tux_bind_texture slider_bar slider_bar
-
- tux_load_texture checkbox_box textures/checkbox_box.png 0
- tux_bind_texture checkbox_box checkbox_box
-
- tux_load_texture checkbox_box_sel textures/checkbox_box_sel.png 0
- tux_bind_texture checkbox_box_sel checkbox_box_sel
-
- tux_load_texture checkbox_check textures/checkbox_check.png 0
- tux_bind_texture checkbox_check checkbox_check
-
- # Menu decorations
- tux_load_texture menu_bottom_left textures/menu_bottom_left.png 0
- tux_bind_texture menu_bottom_left menu_bottom_left
-
- tux_load_texture menu_bottom_right textures/menu_bottom_right.png 0
- tux_bind_texture menu_bottom_right menu_bottom_right
-
- tux_load_texture menu_top_left textures/menu_top_left.png 0
- tux_bind_texture menu_top_left menu_top_left
-
- tux_load_texture menu_top_right textures/menu_top_right.png 0
- tux_bind_texture menu_top_right menu_top_right
-
- tux_load_texture menu_title textures/menu_title.png 0
- tux_bind_texture menu_title menu_title
-
- # Tux life icon
- tux_load_texture tux_life textures/tuxlife.png 0
- tux_bind_texture tux_life tux_life
-
- #
- # Models
- #
- objset :ai_resources:ai_target_model \
- -filename models/arrow.obj.strip \
- -backface_culling 0
-